package cn.com.petrochina.lpm3.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.github.jeffreyning.mybatisplus.anno.MppMultiId;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * @TableName PC_PROD_HORI_WELL_DOWN
 */
@TableName(value = "PC_PROD_HORI_WELL_DOWN")
@Data
public class ProdHoriWellDown implements Serializable {
    /**
     * 唯一的井标识符，独立且唯一，引自PC_WELL_PROD_HORIZON
     */
    @MppMultiId
    @TableField(value = "WELL_ID")
    private String wellId;

    /**
     * 井筒唯一标识符,引自PC_WELL_PROD_HORIZON
     */
    @MppMultiId
    @TableField(value = "WELLBORE_ID")
    private String wellboreId;

    /**
     * 引自PC_WELL_PROD_HORIZON
     */
    @MppMultiId
    @TableField(value = "PROD_HORIZON_ID")
    private String prodHorizonId;

    /**
     * 填写格式：YYYY-MM-DD  HH:MM
     */
    @MppMultiId
    @TableField(value = "START_DATETIME")
    private Date startDatetime;

    /**
     * 关井原因代码表，参见“PC_PK_SHUTIN_TYPE”
     */
    @TableField(value = "DOWNTIME_TYPE")
    private String downtimeType;

    /**
     * 填写格式：YYYY-MM-DD  HH:MM
     */
    @TableField(value = "END_DATETIME")
    private Date endDatetime;

    /**
     * 以小时数计量H
     */
    @TableField(value = "HOURS_DOWN")
    private BigDecimal hoursDown;

    /**
     * 井口日产液量T
     */
    @TableField(value = "PRE_LIQ_PROD_DAILY")
    private BigDecimal preLiqProdDaily;

    /**
     * 井口日产气量M^3
     */
    @TableField(value = "PRE_GAS_PROD_DAILY")
    private Integer preGasProdDaily;

    /**
     * 井口日产水量T
     */
    @TableField(value = "PRE_WATER_PROD_DAILY")
    private BigDecimal preWaterProdDaily;

    /**
     * 当日注入量M^3
     */
    @TableField(value = "PRE_INJ_VOL_DAILY")
    private Integer preInjVolDaily;

    /**
     * 关前日产油量T
     */
    @TableField(value = "PRE_OIL_PROD_DAILY")
    private BigDecimal preOilProdDaily;

    /**
     * 关井后为了掌握地层压力的恢复情况，在关井期间每天对井的油压进行记录，为关井油压MPA
     */
    @TableField(value = "SHUTDOWN_TUBING_PRES")
    private BigDecimal shutdownTubingPres;

    /**
     * 关井后为了掌握地层压力的恢复情况，在关井期间每天对井的套压进行记录，为关井套压MPA
     */
    @TableField(value = "SHUTDOWN_CASING_PRES")
    private BigDecimal shutdownCasingPres;

    /**
     * 对应关井油压的最高值MPA
     */
    @TableField(value = "SHUTDOWN_MAX_TUBING_PRES")
    private BigDecimal shutdownMaxTubingPres;

    /**
     * 对应关井油压的最低值MPA
     */
    @TableField(value = "SHUTDOWN_MIN_TUBING_PRES")
    private BigDecimal shutdownMinTubingPres;

    /**
     * 对应关井套压的最高值MPA
     */
    @TableField(value = "SHUTDOWN_MAX_CASING_PRES")
    private BigDecimal shutdownMaxCasingPres;

    /**
     * 对应关井套压的最低值MPA
     */
    @TableField(value = "SHUTDOWN_MIN_CASING_PRES")
    private BigDecimal shutdownMinCasingPres;

    /**
     * 关井后再开井时的油压，只有开井时填此数据项MPA
     */
    @TableField(value = "START_TUBING_PRES")
    private BigDecimal startTubingPres;

    /**
     * 关井后再开井时的套压，只有开井时填此数据项MPA
     */
    @TableField(value = "START_CASING_PRES")
    private BigDecimal startCasingPres;

    /**
     * 创建日期
     */
    @TableField(value = "CREATE_DATE")
    private Date createDate;

    /**
     * 创建用户ID
     */
    @TableField(value = "CREATE_USER_ID")
    private String createUserId;

    /**
     * 最后更新日期
     */
    @TableField(value = "UPDATE_DATE")
    private Date updateDate;

    /**
     * 最后更新用户ID
     */
    @TableField(value = "UPDATE_USER_ID")
    private String updateUserId;

    /**
     * 每天填当天重大事件每月最后一天填全月的备注
     */
    @TableField(value = "REMARKS")
    private String remarks;

    @TableField(exist = false)
    private static final long serialVersionUID = 1L;
}